#pragma once

#include <QString>
#include <stdlib.h>
#include <memory>
#include <exception>

#include "qslog.h"

class Container
{
private:
	Container(const Container& );
	Container& operator=(const Container&);
//	ConnectionConfig* connectionCfg;
//	FactoryManager* factoryManager;
	bool isDestroyed;
	

public:
	Container(void);
	~Container(void);
	void initSystem();
	void initLogSystem(const QString& path, QsLogging::Level logLevel = QsLogging::TraceLevel);
	void initCms();
	void destroy();

	// FactoryManager* const getFactoryManager() const{return factoryManager;}
	// ConnectionConfig* const getConnectionConfig() const{return connectionCfg;}

};
